drag: Allow gtk_gesture_get_start_point/offset() to be called on ::drag-end
authorCarlos Garnacho <carlosg@gnome.org>
Mon, 12 May 2014 17:11:53 +0000 (19:11 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 23 May 2014 17:54:30 +0000 (19:54 +0200)
gtk/gtkgesturedrag.c

index dbcd9c3d31495f09fd904902110355bfa77d9348..141362ad75dafd701db2efbb8b18bdeb468e5a02 100644 (file)
@@ -211,8 +211,13 @@ gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture,
                                   gdouble        *y)
 {
   GtkGestureDragPrivate *priv;
+  GdkEventSequence *sequence;
 
-  if (!gtk_gesture_is_recognized (GTK_GESTURE (gesture)))
+  g_return_val_if_fail (GTK_IS_GESTURE_DRAG (gesture), FALSE);
+
+  sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
+
+  if (!gtk_gesture_handles_sequence (GTK_GESTURE (gesture), sequence))
     return FALSE;
 
   priv = gtk_gesture_drag_get_instance_private (gesture);
@@ -246,8 +251,13 @@ gtk_gesture_drag_get_offset (GtkGestureDrag *gesture,
                              gdouble        *y)
 {
   GtkGestureDragPrivate *priv;
+  GdkEventSequence *sequence;
+
+  g_return_val_if_fail (GTK_IS_GESTURE_DRAG (gesture), FALSE);
+
+  sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
 
-  if (!gtk_gesture_is_recognized (GTK_GESTURE (gesture)))
+  if (!gtk_gesture_handles_sequence (GTK_GESTURE (gesture), sequence))
     return FALSE;
 
   priv = gtk_gesture_drag_get_instance_private (gesture);